package com.tancire.sources.domain;

import com.tancire.common.annotation.Excel;
import com.tancire.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 文件管理对象 sur_file
 *
 * @author chenchao
 * @date 2024-08-18
 */
public class SurFile extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 父目录
     */
    @Excel(name = "父目录")
    private Long pid;

    /**
     * 父级目录
     */
    @Excel(name = "父级目录")
    private String pids;

    /**
     * 文件名
     */
    @Excel(name = "文件名")
    private String fileName;

    /**
     * 分类 0 目录 1 文件
     */
    @Excel(name = "分类 0 目录 1 文件")
    private Integer fileCategory;

    /**
     * 文件路径
     */
    @Excel(name = "文件路径")
    private String filePath;

    /**
     * 文件类型
     */
    @Excel(name = "文件类型")
    private String fileType;

    /**
     * 文件大小（字节）
     */
    @Excel(name = "文件大小", readConverterExp = "字=节")
    private Long fileSize;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Integer fileSort;

    /**
     * 标签
     */
    @Excel(name = "标签")
    private String fileTags;

    /**
     * 来源
     */
    private Integer userSource;

    /**
     * 所属部门
     */
    @Excel(name = "所属部门")
    private Long deptId;

    /**
     * 所属租户
     */
    @Excel(name = "所属租户")
    private Long tenantId;

    /**
     * 0 正常  1 删除  真删除，字段保留
     */
    private Long delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public Long getPid() {
        return pid;
    }

    public void setPids(String pids) {
        this.pids = pids;
    }

    public String getPids() {
        return pids;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileCategory(Integer fileCategory) {
        this.fileCategory = fileCategory;
    }

    public Integer getFileCategory() {
        return fileCategory;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSort(Integer fileSort) {
        this.fileSort = fileSort;
    }

    public Integer getFileSort() {
        return fileSort;
    }

    public void setFileTags(String fileTags) {
        this.fileTags = fileTags;
    }

    public String getFileTags() {
        return fileTags;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    public Integer getUserSource() {
        return userSource;
    }

    public void setUserSource(Integer userSource) {
        this.userSource = userSource;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("pid", getPid())
                .append("pids", getPids())
                .append("fileName", getFileName())
                .append("fileCategory", getFileCategory())
                .append("filePath", getFilePath())
                .append("fileType", getFileType())
                .append("fileSize", getFileSize())
                .append("fileSort", getFileSort())
                .append("fileTags", getFileTags())
                .append("deptId", getDeptId())
                .append("tenantId", getTenantId())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
